package com.shihang.crm.dao;

import org.hibernate.criterion.DetachedCriteria;

import java.io.Serializable;
import java.util.List;

public interface BaseDao<T> {
    //增
    void save(T t);

    //增or改
    void saveOrUpdate(T t);

    //删
    void delete(T t);

    //删 可以做为数据库主键的类型，都实现了这个接口
    void delete(Serializable id);
    //改
    void update(T t);
    //查
    T getById(Serializable id);
    //查
    int getTotalCount(DetachedCriteria dc);
    //查
    List<T> getPageList(DetachedCriteria dc,int start,int pageSize);
}
